home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 051-060 / amok51 / m2 / defs / intuition.def < prev    next >
Text File  |  1993-11-04  |  25KB  |  965 lines

  1. DEFINITION MODULE Intuition {"intuition.library",33};
  2.  
  3. FROM SYSTEM IMPORT
  4.  ADDRESS,BITSET,BYTE,CAST,LONGSET;
  5. FROM Exec IMPORT
  6.  Interrupt,IOStdReq,Library,List,MemReqSet,Message,
  7.  MsgPortPtr,SignalSemaphore;
  8. FROM Graphics IMPORT
  9.  jam2,BitMap,BitMapPtr,ClipRect,DrawModeSet,GfxBasePtr,
  10.  LayerInfo,LayerPtr,RastPort,RastPortPtr,RegionPtr,
  11.  SimpleSpritePtr,TextAttr,TextAttrPtr,TextFontPtr,TmpRas,
  12.  View,ViewModeSet,ViewPort,ViewPortPtr,ViewPtr;
  13. FROM Timer IMPORT
  14.  IOTimer,TimeVal;
  15. FROM InputEvent IMPORT
  16.  lButton,rButton,upPrefix,InputEvent,InputEventPtr,
  17.  Qualifiers,QualifierSet;
  18. FROM KeyMap IMPORT
  19.  KeyMapPtr;
  20.  
  21. TYPE
  22.  BorderPtr=POINTER TO Border;
  23.  GadgetPtr=POINTER TO Gadget;
  24.  ImagePtr=POINTER TO Image;
  25.  IntuiMessagePtr=POINTER TO IntuiMessage;
  26.  IntuiTextPtr=POINTER TO IntuiText;
  27.  MenuItemPtr=POINTER TO MenuItem;
  28.  MenuPtr=POINTER TO Menu;
  29.  PreferencesPtr=POINTER TO Preferences;
  30.  PropInfoPtr=POINTER TO PropInfo;
  31.  RememberPtr=POINTER TO Remember;
  32.  RequesterPtr=POINTER TO Requester;
  33.  ScreenPtr=POINTER TO Screen;
  34.  StringInfoPtr=POINTER TO StringInfo;
  35.  WindowPtr=POINTER TO Window;
  36.  
  37. CONST
  38.  menuEnabled=0;
  39.  miDrawn=8;
  40.  
  41. TYPE
  42.  Menu=RECORD
  43.   nextMenu:MenuPtr;
  44.   leftEdge:INTEGER;
  45.   topEdge:INTEGER;
  46.   width:INTEGER;
  47.   height:INTEGER;
  48.   flags:BITSET;
  49.   menuName:ADDRESS;
  50.   firstItem:MenuItemPtr;
  51.   jazzX:INTEGER;
  52.   jazzY:INTEGER;
  53.   beatX:INTEGER;
  54.   beatY:INTEGER;
  55.  END;
  56.  MenuItemFlags=(
  57.   checkIt,itemText,commSeq,menuToggle,itemEnabled,mif5,
  58.   highComp,highBox,checked,mif9,mif10,mif11,isDrawn,
  59.   highItem,menuToggled
  60.  );
  61.  MenuItemFlagSet=SET OF MenuItemFlags;
  62.  
  63. CONST
  64.  highNone=MenuItemFlagSet{highBox,highComp};
  65.  checkWidth=19;
  66.  commWidth=27;
  67.  lowCheckWidth=13;
  68.  lowCommWidth=16;
  69.  
  70. TYPE
  71.  MenuItem=RECORD
  72.   nextItem:MenuItemPtr;
  73.   leftEdge:INTEGER;
  74.   topEdge:INTEGER;
  75.   width:INTEGER;
  76.   height:INTEGER;
  77.   flags:MenuItemFlagSet;
  78.   mutualExclude:LONGSET;
  79.   itemFill:ADDRESS;
  80.   selectFill:ADDRESS;
  81.   command:CHAR;
  82.   subItem:MenuItemPtr;
  83.   nextSelect:CARDINAL;
  84.  END;
  85.  RequesterFlags=(
  86.   pointRel,preDrawn,noisyReq,rf3,rf4,rf5,rf6,rf7,rf8,rf9,
  87.   rf10,rf11,reqOffWindow,reqActive,sysRequest,deferRefresh
  88.  );
  89.  RequesterFlagSet=SET OF RequesterFlags;
  90.  Requester=RECORD
  91.   olderRequest:RequesterPtr;
  92.   leftEdge:INTEGER;
  93.   topEdge:INTEGER;
  94.   width:INTEGER;
  95.   height:INTEGER;
  96.   relLeft:INTEGER;
  97.   relTop:INTEGER;
  98.   reqGadget:GadgetPtr;
  99.   reqBorder:BorderPtr;
  100.   reqText:IntuiTextPtr;
  101.   flags:RequesterFlagSet;
  102.   backFill:SHORTCARD;
  103.   reqLayer:LayerPtr;
  104.   reqPad1:ARRAY [0..31] OF BYTE;
  105.   imageBMap:BitMapPtr;
  106.   rWindow:WindowPtr;
  107.   reqPad2:ARRAY [0..35] OF BYTE;
  108.  END;
  109.  GadgetFlags=(
  110.   gadgHBox,gadgHImage,gadgImage,gRelBottom,gRelRight,
  111.   gRelWidth,gRelHeight,selected,gadgDisabled
  112.  );
  113.  GadgetFlagSet=SET OF GadgetFlags;
  114.  ActivationFlags=(
  115.   relVerify,gadgImmediate,endGadget,followMouse,rightBorder,
  116.   leftBorder,topBorder,bottomBorder,toggleSelect,stringCenter,
  117.   stringRight,longint,altKeyMap,boolExtend
  118.  );
  119.  ActivationFlagSet=SET OF ActivationFlags;
  120.  
  121. CONST
  122.  gadgHighbits=CAST(GadgetFlagSet,03H);
  123.  gadgHNone=GadgetFlagSet{gadgHBox,gadgHImage};
  124.  gadgHComp=GadgetFlagSet{};
  125.  boolGadget=0001H;
  126.  gadget0002=0002H;
  127.  propGadget=0003H;
  128.  strGadget=0004H;
  129.  sizing=0010H;
  130.  wDragging=0020H;
  131.  sDragging=0030H;
  132.  wUpFront=0040H;
  133.  sUpFront=0050H;
  134.  wDownBack=0060H;
  135.  sDownBack=0070H;
  136.  close=0080H;
  137.  reqGadget=1000H;
  138.  gzzGadget=2000H;
  139.  scrGadget=4000H;
  140.  sysGadget=8000H;
  141.  gadgetType=CAST(BITSET,0FC00H);
  142.  
  143. TYPE
  144.  Gadget=RECORD
  145.   nextGadget:GadgetPtr;
  146.   leftEdge:INTEGER;
  147.   topEdge:INTEGER;
  148.   width:INTEGER;
  149.   height:INTEGER;
  150.   flags:GadgetFlagSet;
  151.   activation:ActivationFlagSet;
  152.   gadgetType:CARDINAL;
  153.   gadgetRender:ADDRESS;
  154.   selectRender:ADDRESS;
  155.   gadgetText:IntuiTextPtr;
  156.   mutualExclude:LONGSET;
  157.   specialInfo:ADDRESS;
  158.   gadgetID:INTEGER;
  159.   userData:ADDRESS;
  160.  END;
  161.  
  162. CONST
  163.  boolMask=1;
  164.  
  165. TYPE
  166.  BoolInfo=RECORD
  167.   flags:BITSET;
  168.   mask:ADDRESS;
  169.   reserved:LONGCARD;
  170.  END;
  171.  PropInfoFlags=(
  172.   autoKnob,freeHoriz,freeVert,propBorderless,pf4,pf5,pf6,pf7,
  173.   knobHit
  174.  );
  175.  PropInfoFlagSet=SET OF PropInfoFlags;
  176.  
  177. CONST
  178.  knobVmin=4;
  179.  knobHmin=6;
  180.  maxBody=0FFFFH;
  181.  maxPot=0FFFFH;
  182.  
  183. TYPE
  184.  PropInfo=RECORD
  185.   flags:PropInfoFlagSet;
  186.   horizPot:CARDINAL;
  187.   vertPot:CARDINAL;
  188.   horizBody:CARDINAL;
  189.   vertBody:CARDINAL;
  190.   cWidth:CARDINAL;
  191.   cHeight:CARDINAL;
  192.   hPotRes:CARDINAL;
  193.   vPotRes:CARDINAL;
  194.   leftBorder:CARDINAL;
  195.   topBorder:CARDINAL;
  196.  END;
  197.  
  198.  StringInfo=RECORD
  199.   buffer:ADDRESS;
  200.   undoBuffer:ADDRESS;
  201.   bufferPos:INTEGER;
  202.   maxChars:INTEGER;
  203.   dispPos:INTEGER;
  204.   undoPos:INTEGER;
  205.   numChars:INTEGER;
  206.   dispCount:INTEGER;
  207.   cLeft:INTEGER;
  208.   cTop:INTEGER;
  209.   layerPtr:LayerPtr;
  210.   longInt:LONGINT;
  211.   altKeyMap:KeyMapPtr;
  212.  END;
  213.  
  214. CONST
  215.  autoFrontPen=0;
  216.  autoBackPen=1;
  217.  autoDrawMode=jam2;
  218.  autoLeftEdge=6;
  219.  autoTopEdge=3;
  220.  autoITextFont=NIL;
  221.  autoNextText=NIL;
  222. TYPE
  223.  IntuiText=RECORD
  224.   frontPen:SHORTCARD;
  225.   backPen:SHORTCARD;
  226.   drawMode:DrawModeSet;
  227.   leftEdge:INTEGER;
  228.   topEdge:INTEGER;
  229.   iTextFont:TextAttrPtr;
  230.   iText:ADDRESS;
  231.   nextText:IntuiTextPtr;
  232.  END;
  233.  
  234.  Border=RECORD
  235.   leftEdge:INTEGER;
  236.   topEdge:INTEGER;
  237.   frontPen:SHORTCARD;
  238.   backPen:SHORTCARD;
  239.   drawMode:DrawModeSet;
  240.   count:SHORTCARD;
  241.   xy:ADDRESS;
  242.   nextBorder:BorderPtr;
  243.  END;
  244.  
  245.  Image=RECORD
  246.   leftEdge:INTEGER;
  247.   topEdge:INTEGER;
  248.   width:INTEGER;
  249.   height:INTEGER;
  250.   depth:INTEGER;
  251.   imageData:ADDRESS;
  252.   planePick:SHORTCARD;
  253.   planeOnOff:SHORTCARD;
  254.   nextImage:ImagePtr;
  255.  END;
  256.  
  257.  IDCMPFlags=(
  258.   sizeVerify,newSize,refreshWindow,mouseButtons,mouseMove,
  259.   gadgetDown,gadgetUp,reqSet,menuPick,closeWindow,rawKey,
  260.   reqVerify,reqClear,menuVerify,newPrefs,diskInserted,
  261.   diskRemoved,wbenchMessage,activeWindow,inactiveWindow,
  262.   deltaMove,vanillaKey,intuiTicks,c23,c24,c25,c26,c27,c28,
  263.   c29,c30,lonelyMessage
  264.  );
  265.  IDCMPFlagSet=SET OF IDCMPFlags;
  266.  
  267. CONST
  268.  selectUp=lButton+upPrefix;    (* mouseButtons *)
  269.  selectDown=lButton;
  270.  menuUp=rButton+upPrefix;
  271.  menuDown=rButton;
  272.  menuNull=0FFFFH;              (* menuPick *)
  273.  noMenu=1FH; noItem=3FH; noSub=1FH;
  274.  keyCodeQ=10H;                 (* rawKey *)
  275.  keyCodeX=32H;
  276.  keyCodeV=34H;
  277.  keyCodeB=35H;
  278.  keyCodeN=36H;
  279.  keyCodeM=37H;
  280.  cursorUp=4CH;
  281.  cursorDown=4DH;
  282.  cursorRight=4EH;
  283.  cursorLeft=4FH;
  284.  menuHot=1;                   (* menuVerify *)
  285.  menuCancel=2;
  286.  menuWaiting=3;
  287.  okOk=menuHot;
  288.  okAbort=4;
  289.  okCancel=menuCancel;
  290.  wbenchOpen=1;                   (* wbenchMessage *)
  291.  wbenchClose=2;
  292. (* IntuiMessage.qualifier *)
  293.  altLeft=QualifierSet{lAlt};
  294.  altRight=QualifierSet{rAlt};
  295.  amigaLeft=QualifierSet{lCommand};
  296.  amigaRight=QualifierSet{rCommand};
  297.  amigaKeys=amigaLeft+amigaRight;
  298.  
  299. TYPE
  300.  IntuiMessage=RECORD
  301.   execMessage:Message;
  302.   class:IDCMPFlagSet;
  303.   code:CARDINAL;
  304.   qualifier:QualifierSet;
  305.   iAddress:ADDRESS;
  306.   mouseX:INTEGER;
  307.   mouseY:INTEGER;
  308.   seconds:LONGCARD;
  309.   micros:LONGCARD;
  310.   idcmpWindow:WindowPtr;
  311.   specialLink:IntuiMessagePtr;
  312.  END;
  313.  
  314. TYPE
  315.  WindowFlags=(
  316.   windowSizing,windowDrag,windowDepth,windowClose,sizeBRight,
  317.   sizeBBottom,simpleRefresh,superBitMap,backDrop,reportMouse,
  318.   gimmeZeroZero,borderless,activate,windowActive,inRequest,
  319.   menuState,rmbTrap,noCareRefresh,wf18,wf19,wf20,wf21,wf22,
  320.   wf23,windowRefresh,wbenchWindow,windowTicked,wf27,wf28,
  321.   wf29,wf30,wf31
  322.  );
  323.  WindowFlagSet=SET OF WindowFlags;
  324.  ScreenFlags=(
  325.   wbenchScreen,sf1,sf2,sf3,showTitle,beeping,customBitMap,
  326.   screenBehind,screenQuiet);
  327.  ScreenFlagSet=SET OF ScreenFlags;
  328.  
  329. CONST
  330.  otherRefresh=WindowFlagSet{simpleRefresh,superBitMap};
  331.  superUnused=WindowFlagSet{wf18..wf23,wf27..wf31};
  332.  stdScreenHeight=-1;
  333.  customScreen=ScreenFlagSet{wbenchScreen..sf3};
  334.  
  335. TYPE
  336.  NewWindow=RECORD
  337.   leftEdge:INTEGER;
  338.   topEdge:INTEGER;
  339.   width:INTEGER;
  340.   height:INTEGER;
  341.   detailPen:SHORTINT;
  342.   blockPen:SHORTINT;
  343.   idcmpFlags:IDCMPFlagSet;
  344.   flags:WindowFlagSet;
  345.   firstGadget:GadgetPtr;
  346.   checkMark:ImagePtr;
  347.   title:ADDRESS;
  348.   screen:ScreenPtr;
  349.   bitMap:BitMapPtr;
  350.   minWidth:INTEGER;
  351.   minHeight:INTEGER;
  352.   maxWidth:INTEGER;
  353.   maxHeight:INTEGER;
  354.   type:ScreenFlagSet;
  355.  END;
  356.  NewScreen=RECORD
  357.   leftEdge:INTEGER;
  358.   topEdge:INTEGER;
  359.   width:INTEGER;
  360.   height:INTEGER;
  361.   depth:INTEGER;
  362.   detailPen:SHORTINT;
  363.   blockPen:SHORTINT;
  364.   viewModes:ViewModeSet;
  365.   type:ScreenFlagSet;
  366.   font:TextAttrPtr;
  367.   defaultTitle:ADDRESS;
  368.   gadgets:GadgetPtr;
  369.   customBitMap:BitMapPtr;
  370.  END;
  371.  Window=RECORD
  372.   nextWindow:WindowPtr;
  373.   leftEdge:INTEGER;
  374.   topEdge:INTEGER;
  375.   width:INTEGER;
  376.   height:INTEGER;
  377.   mouseY:INTEGER;
  378.   mouseX:INTEGER;
  379.   minWidth:INTEGER;
  380.   minHeight:INTEGER;
  381.   maxWidth:INTEGER;
  382.   maxHeight:INTEGER;
  383.   flags:WindowFlagSet;
  384.   menuStrip:MenuPtr;
  385.   title:ADDRESS;
  386.   firstRequest:RequesterPtr;
  387.   dmRequest:RequesterPtr;
  388.   reqCount:INTEGER;
  389.   wScreen:ScreenPtr;
  390.   rPort:RastPortPtr;
  391.   borderLeft:SHORTINT;
  392.   borderTop:SHORTINT;
  393.   borderRight:SHORTINT;
  394.   borderBottom:SHORTINT;
  395.   borderRPort:RastPortPtr;
  396.   firstGadget:GadgetPtr;
  397.   parent:WindowPtr;
  398.   descendant:WindowPtr;
  399.   pointer:ADDRESS;
  400.   ptrHeight:SHORTINT;
  401.   ptrWidth:[0..16];
  402.   xOffset:SHORTINT;
  403.   yOffset:SHORTINT;
  404.   idcmpFlags:IDCMPFlagSet;
  405.   userPort:MsgPortPtr;
  406.   windowPort:MsgPortPtr;
  407.   messageKey:IntuiMessagePtr;
  408.   detailPen:SHORTCARD;
  409.   blockPen:SHORTCARD;
  410.   checkMark:ImagePtr;
  411.   screenTitle:ADDRESS;
  412.   gzzMouseX:INTEGER;
  413.   gzzMouseY:INTEGER;
  414.   gzzWidth:INTEGER;
  415.   gzzHeight:INTEGER;
  416.   extData:ADDRESS;
  417.   userData:ADDRESS;
  418.   wLayer:LayerPtr;
  419.   iFont:TextFontPtr;
  420.  END;
  421.  Screen=RECORD
  422.   nextScreen:ScreenPtr;
  423.   firstWindow:WindowPtr;
  424.   leftEdge:INTEGER;
  425.   topEdge:INTEGER;
  426.   width:INTEGER;
  427.   height:INTEGER;
  428.   mouseY:INTEGER;
  429.   mouseX:INTEGER;
  430.   flags:ScreenFlagSet;
  431.   title:ADDRESS;
  432.   defaultTitle:ADDRESS;
  433.   barHeight:SHORTINT;
  434.   barVBorder:SHORTINT;
  435.   barHBorder:SHORTINT;
  436.   menuVBorder:SHORTINT;
  437.   menuHBorder:SHORTINT;
  438.   wBorTop:SHORTINT;
  439.   wBorLeft:SHORTINT;
  440.   wBorRight:SHORTINT;
  441.   wBorBottom:SHORTINT;
  442.   font:TextAttrPtr;
  443.   viewPort:ViewPort;
  444.   rastPort:RastPort;
  445.   bitMap:BitMap;
  446.   layerInfo:LayerInfo;
  447.   firstGadget:GadgetPtr;
  448.   detailPen:SHORTCARD;
  449.   blockPen:SHORTCARD;
  450.   saveColor0:CARDINAL;
  451.   barLayer:LayerPtr;
  452.   extData:ADDRESS;
  453.   userData:ADDRESS;
  454.  END;
  455.  
  456. CONST
  457.  filenameSize=30;
  458.  pointerSize=(1+16+1)*2;
  459.  topazEighty=8;
  460.  topazSixty=9;
  461.  
  462. (* Preferences.printerType *)
  463.  customName=0;  alphaP101=1;   brother15XL=2;  cbmMps1000=3;
  464.  diab630=4;     diabAdvD25=5;  diabC150=6;     epson=7;
  465.  epsonJX80=8;   okimate20=9;   qumeLP20=10;    hpLaserjet=11;
  466.  hpLaserjetPlus=12;
  467.  
  468. TYPE
  469.  PrinterPort=(parallelPrinter,serialPrinter);
  470.  SerParShk=(
  471.   shakeXon,shakeRts,shakeNone,sps3,parityNone,parityEven,
  472.   parityOdd
  473.  );
  474.  SerParShkSet=SET OF SerParShk;
  475.  Preferences=RECORD
  476.   fontHeight:SHORTCARD;
  477.   printerPort:PrinterPort;
  478.   baudRate:CARDINAL;
  479.   keyRptSpeed:TimeVal;
  480.   keyRptDelay:TimeVal;
  481.   doubleClick:TimeVal;
  482.   pointerMatrix:ARRAY [0..pointerSize-1] OF CARDINAL;
  483.   xOffset:SHORTINT;
  484.   yOffset:SHORTINT;
  485.   color17:CARDINAL;
  486.   color18:CARDINAL;
  487.   color19:CARDINAL;
  488.   pointerTicks:CARDINAL;
  489.   color0:CARDINAL;
  490.   color1:CARDINAL;
  491.   color2:CARDINAL;
  492.   color3:CARDINAL;
  493.   viewXOffset:SHORTINT;
  494.   viewYOffset:SHORTINT;
  495.   viewInitX:INTEGER;
  496.   viewInitY:INTEGER;
  497.   enableCLI:CARDINAL;    (* BOOLEAN *)
  498.   printerType:CARDINAL;
  499.   printerFilename:ARRAY [0..filenameSize-1] OF CHAR;
  500.   printPitch:CARDINAL;
  501.   printQuality:CARDINAL;
  502.   printSpacing:CARDINAL;
  503.   printLeftMargin:CARDINAL;
  504.   printRightMargin:CARDINAL;
  505.   printImage:CARDINAL;
  506.   printAspect:CARDINAL;
  507.   printShade:CARDINAL;
  508.   printThreshold:INTEGER;
  509.   paperSize:CARDINAL;
  510.   paperLength:CARDINAL;
  511.   paperType:CARDINAL;
  512.   serRWBits:SHORTCARD;
  513.   serStopBuf:SHORTCARD;
  514.   serParShk:SerParShkSet;
  515.   laceWB:BOOLEAN;
  516.   workName:ARRAY [0..filenameSize-1] OF CHAR;
  517.   padding:ARRAY [0..15] OF BYTE;
  518.  END;
  519. CONST
  520.  baud110=0;
  521.  baud300=1;
  522.  baud1200=2;
  523.  baud2400=3;
  524.  baud4800=4;
  525.  baud9600=5;
  526.  baud19200=6;
  527.  baudMidi=7;
  528.  pica=0H;
  529.  elite=0400H;
  530.  fine=0800H;
  531.  draft=0H;
  532.  letter=0100H;
  533.  sixLPI=0H;
  534.  eightLPI=0200H;
  535.  imagePositive=0;
  536.  imageNegative=1;
  537.  aspectHoriz=0;
  538.  aspectVert=1;
  539.  shadeBW=0;
  540.  shadeGreyscale=1;
  541.  shadeColor=2;
  542.  usLetter=0H;
  543.  usLegal=010H;
  544.  nTractor=020H;
  545.  wTractor=030H;
  546.  custom=040H;
  547.  fanfold=0H;
  548.  single=080H;
  549.  readBits=0F0H;
  550.  writeBits=0FH;
  551.  stopBits=0F0H;
  552.  bufSizeBits=0FH;
  553.  buf512=0;
  554.  buf1024=1;
  555.  buf2048=2;
  556.  buf4096=3;
  557.  buf8000=4;
  558.  buf16000=5;
  559.  
  560. TYPE
  561.  Remember=RECORD
  562.   nextRemember:RememberPtr;
  563.   rememberSize:LONGCARD;
  564.   memory:ADDRESS;
  565.  END;
  566.  
  567. CONST
  568.  deadendAlert=80000000H; recoveryAlert=0;
  569.  
  570. TYPE
  571.  DisplayMode=(hiresPick,lowresPick);
  572.  
  573. CONST
  574.  dModeCount=ORD(MAX(DisplayMode))+1;
  575.  eventMax=10;
  576.  
  577. TYPE
  578.  Res=(hiresGadget,lowresGadget);
  579.  
  580. CONST
  581.  resCount=ORD(MAX(Res))+1;
  582.  
  583. TYPE
  584.  Gadgets=(
  585.   upFrontGadget,downBackGadget,sizeGadget,closeGadget,
  586.   dragGadget,sUpFrontGadget,sDownBackGadget,sDragGadget
  587.  );
  588.  
  589. CONST
  590.  gadgetCount=ORD(MAX(Gadgets))+1;
  591.  
  592. TYPE
  593.  ILocks=(
  594.   iStateLock,layerInfoLock,gadgetsLock,layerRomLock,viewLock,
  595.   iBaseLock,rpLock
  596.  );
  597. CONST
  598.  numILocks=ORD(MAX(ILocks))+1;
  599.  
  600. TYPE
  601.  FatIntuiMessage=RECORD
  602.   intuiMessage:IntuiMessage;
  603.   prevKeys:LONGCARD;
  604.  END;
  605.  IBox=RECORD
  606.   left:INTEGER;
  607.   top:INTEGER;
  608.   width:INTEGER;
  609.   height:INTEGER;
  610.  END;
  611.  Point=RECORD
  612.   x:INTEGER;
  613.   y:INTEGER;
  614.  END;
  615.  PenPair=RECORD
  616.   detailPen:SHORTCARD;
  617.   blockPen:SHORTCARD;
  618.  END;
  619.  GListEnv=RECORD
  620.   screen:ScreenPtr;
  621.   window:WindowPtr;
  622.   requester:RequesterPtr;
  623.   rastPort:RastPortPtr;
  624.   layer:LayerPtr;
  625.   gzzLayer:LayerPtr;
  626.   pens:PenPair;
  627.   domain:IBox;
  628.   gzzDims:IBox;
  629.  END;
  630.  GListEnvPtr=POINTER TO GListEnv;
  631.  GadgetInfo=RECORD
  632.   environ:GListEnvPtr;
  633.   gadget:GadgetPtr;
  634.   box:IBox;
  635.   container:IBox;
  636.   layer:LayerPtr;
  637.   newKnob:IBox;
  638.  END;
  639.  
  640. CONST
  641.  numIEvents=4;
  642.  
  643. TYPE
  644.  IntuitionBase=RECORD
  645.   libNode:Library;
  646.   viewLord:View;
  647.   activeWindow:WindowPtr;
  648.   activeScreen:ScreenPtr;
  649.   firstScreen:ScreenPtr;
  650.   flags:LONGSET;
  651.   mouseY:INTEGER;
  652.   mouseX:INTEGER;
  653.   seconds:LONGCARD;
  654.   micros:LONGCARD;
  655.   minXMouse:INTEGER;
  656.   maxXMouse:INTEGER;
  657.   minYMouse:INTEGER;
  658.   maxYMouse:INTEGER;
  659.   startSecs:LONGCARD;
  660.   startMicros:LONGCARD;
  661.   sysBase:ADDRESS;
  662.   gfxBase:GfxBasePtr;
  663.   layersBase:ADDRESS;
  664.   consoleDevice:ADDRESS;
  665.   aPointer:ADDRESS;
  666.   aPtrHeight:SHORTCARD;
  667.   aPtrWidth:[0..16];
  668.   aXOffset:SHORTCARD;
  669.   aYOffset:SHORTCARD;
  670.   menuDrawn:CARDINAL;
  671.   menuSelected:CARDINAL;
  672.   optionList:CARDINAL;
  673.   menuRPort:RastPort;
  674.   menuTmpRas:TmpRas;
  675.   itemCRect:ClipRect;
  676.   subCRect:ClipRect;
  677.   iBitMap:BitMap;
  678.   sBitMap:BitMap;
  679.   inputRequest:IOStdReq;
  680.   inputInterrupt:Interrupt;
  681.   eventKey:RememberPtr;
  682.   iEvents:ADDRESS;
  683.   eventCount:INTEGER;
  684.   ieBuffer:ARRAY [0..numIEvents-1] OF InputEvent;
  685.   activeGadget:GadgetPtr;
  686.   activePInfo:PropInfoPtr;
  687.   activeImage:ImagePtr;
  688.   gadgetEnv:GListEnv;
  689.   gadgetInfo:GadgetInfo;
  690.   knobOffset:Point;
  691.   getOKWindow:WindowPtr;
  692.   getOKMessage:IntuiMessagePtr;
  693.   setWExcept:CARDINAL;
  694.   gadgetReturn:CARDINAL;
  695.   stateReturn:CARDINAL;
  696.   rp:RastPortPtr;
  697.   iTmpRas:TmpRas;
  698.   oldClipRegion:RegionPtr;
  699.   oldScroll:Point;
  700.   iFrame:IBox;
  701.   hthick:INTEGER;
  702.   vthick:INTEGER;
  703.   frameChange:PROC;
  704.   sizeDrag:PROC;
  705.   firstPt:Point;
  706.   oldPt:Point;
  707.   sysGadgets:ARRAY Res,Gadgets OF GadgetPtr;
  708.   checkImage:ARRAY Res OF ImagePtr;
  709.   amigaIcon:ARRAY Res OF ImagePtr;
  710.   aPattern:ARRAY [0..7] OF CARDINAL;
  711.   bPattern:ARRAY [0..3] OF CARDINAL;
  712.   iPointer:ADDRESS;
  713.   iPtrHeight:SHORTCARD;
  714.   iPtrWidth:[0..16];
  715.   iXOffset:SHORTCARD;
  716.   iYOffset:SHORTCARD;
  717.   doubleSeconds:LONGINT;
  718.   doubleMicros:LONGINT;
  719.   wBorLeft,
  720.   wBorTop,
  721.   wBorRight,
  722.   wBorBottom,
  723.   barVBorder,
  724.   barHBorder,
  725.   menuVBorder,
  726.   menuHBorder:ARRAY DisplayMode OF SHORTINT;
  727.   color0:CARDINAL;
  728.   color1:CARDINAL;
  729.   color2:CARDINAL;
  730.   color3:CARDINAL;
  731.   color17:CARDINAL;
  732.   color18:CARDINAL;
  733.   color19:CARDINAL;
  734.   sysFont:TextAttr;
  735.   preferences:PreferencesPtr;
  736.   echoes:ADDRESS;
  737.   viewInitX:INTEGER;
  738.   viewInitY:INTEGER;
  739.   cursorDX:INTEGER;
  740.   cursorDY:INTEGER;
  741.   keyMap:KeyMapPtr;
  742.   mouseYMinimum:INTEGER;
  743.   errorX:INTEGER;
  744.   errorY:INTEGER;
  745.   ioExcess:IOTimer;
  746.   holdMinYMouse:INTEGER;
  747.   wbPort:MsgPortPtr;
  748.   fnkuhdPort:MsgPortPtr;
  749.   wbMessage:IntuiMessage;
  750.   hitScreen:ScreenPtr;
  751.   simpleSprite:SimpleSpritePtr;
  752.   attachedSSprite:SimpleSpritePtr;
  753.   gotSpritel:BOOLEAN;
  754.   semaphoreList:List;
  755.   iSemaphore:ARRAY ILocks OF SignalSemaphore;
  756.   maxDisplayHeight:INTEGER;
  757.   maxDisplayRow:INTEGER;
  758.   reserved:ARRAY [0..7] OF LONGCARD;
  759.  END;
  760.  IntuitionBasePtr=POINTER TO IntuitionBase;
  761.  
  762. PROCEDURE ActivateGadget(
  763.            gadget{8}:GadgetPtr;
  764.            window{9}:WindowPtr;
  765.            requester{10}:RequesterPtr):BOOLEAN; CODE -462;
  766. PROCEDURE ActivateWindow(window{8}:WindowPtr); CODE -450;
  767. PROCEDURE AddGadget(window{8}:WindowPtr;
  768.                     gadget{9}:GadgetPtr;
  769.                     position{0}:INTEGER):INTEGER; CODE -42;
  770. PROCEDURE AddGList(
  771.            window{8}:WindowPtr;
  772.            gadget{9}:GadgetPtr;
  773.            position{0}:INTEGER;
  774.            numGad{1}:INTEGER;
  775.            requester{10}:RequesterPtr):INTEGER; CODE -438;
  776. PROCEDURE AllocRemember(
  777.            VAR rememberKey{8}:ADDRESS;
  778.            size{0}:LONGCARD;
  779.            flags{1}:MemReqSet):ADDRESS; CODE -396;
  780. PROCEDURE AlohaWorkbench(wbPort{8}:MsgPortPtr); CODE -402;
  781. PROCEDURE AutoRequest(window{8}:WindowPtr;
  782.                       bodyText{9}:IntuiTextPtr;
  783.                       positiveText{10}:IntuiTextPtr;
  784.                       negativeText{11}:IntuiTextPtr;
  785.                       positiveFlags{0}:IDCMPFlagSet;
  786.                       negativeFlags{1}:IDCMPFlagSet;
  787.                       width{2}:INTEGER;
  788.                       height{3}:INTEGER):BOOLEAN; CODE -348;
  789. PROCEDURE BeginRefresh(window{8}:WindowPtr); CODE -354;
  790. PROCEDURE BuildSysRequest(
  791.            window{8}:WindowPtr;
  792.            bodyText{9}:IntuiTextPtr;
  793.            positiveText{10}:IntuiTextPtr;
  794.            negativeText{11}:IntuiTextPtr;
  795.            idcmpFlags{0}:IDCMPFlagSet;
  796.            width{1}:INTEGER;
  797.            height{2}:INTEGER):WindowPtr; CODE -360;
  798. PROCEDURE ClearDMRequest(
  799.            window{8}:WindowPtr):BOOLEAN; CODE -48;
  800. PROCEDURE ClearMenuStrip(window{8}:WindowPtr); CODE -54;
  801. PROCEDURE ClearPointer(window{8}:WindowPtr); CODE -60;
  802. PROCEDURE CloseScreen(screen{8}:ScreenPtr); CODE -66;
  803. PROCEDURE CloseWindow(window{8}:WindowPtr); CODE -72;
  804. PROCEDURE CloseWorkBench():BOOLEAN; CODE -78;
  805. PROCEDURE CurrentTime(seconds{8}:ADDRESS;
  806.                       micros{9}:ADDRESS); CODE -84;
  807. PROCEDURE DisplayAlert(alertNumber{0}:LONGCARD;
  808.                        string{8}:ADDRESS;
  809.                        height{1}:LONGCARD):BOOLEAN; CODE -90;
  810. PROCEDURE DisplayBeep(screen{8}:ScreenPtr); CODE -96;
  811. PROCEDURE DoubleClick(
  812.            startSecs{0}:LONGINT;
  813.            startMicros{1}:LONGINT;
  814.            currentSecs{2}:LONGINT;
  815.            currentMicros{3}:LONGINT):BOOLEAN; CODE -102;
  816. PROCEDURE DrawBorder(rastPort{8}:RastPortPtr;
  817.                      border{9}:BorderPtr;
  818.                      leftOffset{0}:INTEGER;
  819.                      topOffset{1}:INTEGER); CODE -108;
  820. PROCEDURE DrawImage(rastPort{8}:RastPortPtr;
  821.                     image{9}:ImagePtr;
  822.                     leftOffset{0}:INTEGER;
  823.                     topOffset{1}:INTEGER); CODE -114;
  824. PROCEDURE EndRefresh(window{8}:WindowPtr;
  825.                      complete{0}:BOOLEAN); CODE -366;
  826. PROCEDURE EndRequest(requester{8}:RequesterPtr;
  827.                      window{9}:WindowPtr); CODE -120;
  828. PROCEDURE FreeRemember(rememberKey{8}:ADDRESS;
  829.                        reallyForget{0}:BOOLEAN); CODE -408;
  830. PROCEDURE FreeSysRequest(window{8}:WindowPtr); CODE -372;
  831. PROCEDURE GetDefPrefs(prefBuffer{8}:PreferencesPtr;
  832.                       size{0}:INTEGER); CODE -126;
  833. PROCEDURE GetPrefs(prefBuffer{8}:PreferencesPtr;
  834.                    size{0}:INTEGER); CODE -132;
  835. PROCEDURE GetScreenData(
  836.            buffer{8}:ADDRESS;
  837.            size{0}:CARDINAL;
  838.            type{1}:ScreenFlagSet;
  839.            screen{9}:ScreenPtr):BOOLEAN; CODE -426;
  840. PROCEDURE InitRequester(requester{8}:RequesterPtr); CODE -138;
  841. PROCEDURE IntuiTextLength(
  842.            iText{8}:IntuiTextPtr):INTEGER; CODE -330;
  843. PROCEDURE Intuition(inputEvent{8}:InputEventPtr); CODE -36;
  844. PROCEDURE ItemAddress(
  845.            menuStrip{8}:MenuPtr;
  846.            menuNumber{0}:CARDINAL):MenuItemPtr; CODE -144;
  847. PROCEDURE LockIBase(
  848.            lockNumber{0}:LONGCARD):LONGCARD; CODE -414;
  849. PROCEDURE MakeScreen(screen{8}:ScreenPtr); CODE -378;
  850. PROCEDURE ModifyIDCMP(window{8}:WindowPtr;
  851.                       idcmpFlags{0}:IDCMPFlagSet); CODE -150;
  852. PROCEDURE ModifyProp(gadget{8}:GadgetPtr;
  853.                      window{9}:WindowPtr;
  854.                      requester{10}:RequesterPtr;
  855.                      flags{0}:PropInfoFlagSet;
  856.                      horizPot{1}:CARDINAL;
  857.                      vertPot{2}:CARDINAL;
  858.                      horizBody{3}:CARDINAL;
  859.                      vertBody{4}:CARDINAL); CODE -156;
  860. PROCEDURE MoveScreen(screen{8}:ScreenPtr;
  861.                      deltaX{0}:INTEGER;
  862.                      deltaY{1}:INTEGER); CODE -162;
  863. PROCEDURE MoveWindow(window{8}:WindowPtr;
  864.                      deltaX{0}:INTEGER;
  865.                      deltaY{1}:INTEGER); CODE -168;
  866. PROCEDURE NewModifyProp(gadget{8}:GadgetPtr;
  867.                         window{9}:WindowPtr;
  868.                         requester{10}:RequesterPtr;
  869.                         flags{0}:PropInfoFlagSet;
  870.                         horizPot{1}:CARDINAL;
  871.                         vertPot{2}:CARDINAL;
  872.                         horizBody{3}:CARDINAL;
  873.                         vertBody{4}:CARDINAL;
  874.                         numGad{5}:INTEGER); CODE -468;
  875. PROCEDURE OffGadget(gadget{8}:GadgetPtr;
  876.                     window{9}:WindowPtr;
  877.                     requester{10}:RequesterPtr); CODE -174;
  878. PROCEDURE OffMenu(window{8}:WindowPtr;
  879.                   menuNumber{0}:CARDINAL); CODE -180;
  880. PROCEDURE OnGadget(gadget{8}:GadgetPtr;
  881.                    window{9}:WindowPtr;
  882.                    requester{10}:RequesterPtr); CODE -186;
  883. PROCEDURE OnMenu(window{8}:WindowPtr;
  884.                  menuNumber{0}:CARDINAL); CODE -192;
  885. PROCEDURE OpenIntuition():IntuitionBasePtr; CODE -30;
  886. PROCEDURE OpenScreen(
  887.            VAR newScreen{8}:NewScreen):ScreenPtr; CODE -198;
  888. PROCEDURE OpenWindow(
  889.            VAR newWindow{8}:NewWindow):WindowPtr; CODE -204;
  890. PROCEDURE OpenWorkBench():ScreenPtr; CODE -210;
  891. PROCEDURE PrintIText(rastPort{8}:RastPortPtr;
  892.                      iText{9}:IntuiTextPtr;
  893.                      leftOffset{0}:INTEGER;
  894.                      topOffset{1}:INTEGER); CODE -216;
  895. PROCEDURE RefreshGadgets(
  896.            gadgets{8}:GadgetPtr;
  897.            window{9}:WindowPtr;
  898.            requester{10}:RequesterPtr); CODE -222;
  899. PROCEDURE RefreshGList(gadgets{8}:GadgetPtr;
  900.                        window{9}:WindowPtr;
  901.                        requester{10}:RequesterPtr;
  902.                        numGad{0}:INTEGER); CODE -432;
  903. PROCEDURE RefreshWindowFrame(window{8}:WindowPtr); CODE -456;
  904. PROCEDURE RemakeDisplay(); CODE -384;
  905. PROCEDURE RemoveGadget(
  906.            window{8}:WindowPtr;
  907.            gadget{9}:GadgetPtr):INTEGER; CODE -228;
  908. PROCEDURE RemoveGList(window{8}:WindowPtr;
  909.                       gadget{9}:GadgetPtr;
  910.                       numgad{0}:INTEGER):INTEGER; CODE -444;
  911. PROCEDURE ReportMouse(window{8}:WindowPtr;
  912.                       boolean{0}:BOOLEAN); CODE -234;
  913. PROCEDURE Request(requester{8}:RequesterPtr;
  914.                   window{9}:WindowPtr):BOOLEAN; CODE -240;
  915. PROCEDURE RethinkDisplay(); CODE -390;
  916. PROCEDURE ScreenToBack(screen{8}:ScreenPtr); CODE -246;
  917. PROCEDURE ScreenToFront(screen{8}:ScreenPtr); CODE -252;
  918. PROCEDURE SetDMRequest(
  919.            window{8}:WindowPtr;
  920.            dmRequester{9}:RequesterPtr):BOOLEAN; CODE -258;
  921. PROCEDURE SetMenuStrip(window{8}:WindowPtr;
  922.                        menu{9}:MenuPtr):BOOLEAN; CODE -264;
  923. PROCEDURE SetPointer(window{8}:WindowPtr;
  924.                      pointer{9}:ADDRESS;
  925.                      height{0}:INTEGER;
  926.                      width{1}:INTEGER;
  927.                      xOffset{2}:INTEGER;
  928.                      yOffset{3}:INTEGER); CODE -270;
  929. PROCEDURE SetPrefs(prefBuffer{8}:PreferencesPtr;
  930.                    Size{0}:INTEGER;
  931.                    Inform{1}:BOOLEAN); CODE -324;
  932. PROCEDURE SetWindowTitles(
  933.            window{8}:WindowPtr;
  934.            windowTitle{9}:ADDRESS;
  935.            screenTitle{10}:ADDRESS); CODE -276;
  936. PROCEDURE ShowTitle(screen{8}:ScreenPtr;
  937.                     showIt{0}:BOOLEAN); CODE -282;
  938. PROCEDURE SizeWindow(window{8}:WindowPtr;
  939.                      deltaX{0}:INTEGER;
  940.                      deltaY{1}:INTEGER); CODE -288;
  941. PROCEDURE UnlockIBase(lock{8}:LONGCARD); CODE -420;
  942. PROCEDURE ViewAddress():ViewPtr; CODE -294;
  943. PROCEDURE ViewPortAddress(
  944.            window{8}:WindowPtr):ViewPortPtr; CODE -300;
  945. PROCEDURE WBenchToBack():BOOLEAN; CODE -336;
  946. PROCEDURE WBenchToFront():BOOLEAN; CODE -342;
  947. (*
  948.  * Den Paramentern maxWidth und maxHeight darf man auch den
  949.  * Wert -1 zuweisen, falls man die Window Grösse nicht
  950.  * beschränken will. Damit dies nicht zu einem Laufzeitfehler
  951.  * führt wurden diese Parameter im Gegensatz zu den
  952.  * C Deklarationen als INTEGER und nicht als CARDINAL
  953.  * deklariert.
  954.  *)
  955. PROCEDURE WindowLimits(
  956.            window{8}:WindowPtr;
  957.            minWidth{0}:INTEGER;
  958.            minHeight{1}:INTEGER;
  959.            maxWidth{2}:INTEGER;
  960.            maxHeight{3}:INTEGER):BOOLEAN; CODE -318;
  961. PROCEDURE WindowToBack(window{8}:WindowPtr); CODE -306;
  962. PROCEDURE WindowToFront(window{8}:WindowPtr); CODE -312;
  963.  
  964. END Intuition.
  965.